/**
 * 类：分类，归类
 * 将对象进行整合、根据对象的特性进行分类，让对象之间的沟通、调用、访问会更加方便
 */

//类的语法 关键字class 类的名称（开头字母大写）{属性、方法、构造函数}
class Person{

    //声明属性
    name:string
    age:number

    //构造函数
    constructor(name:string,age:number){
        this.name=name
        this.age=age
    }

    //方法
    eat(params:string):string{
        return`${this.name}在吃${params}`
    }
}

//创建（实例化）这个类
let p1 = new Person("张三",20)
console.log(p1);
console.log(p1.eat("rice"));

//类的继承  关键字：extends 方法：super()
//继承之后子类可以访问父类的属性和方法
//创建医生的子类继承人的父类
class Doctor extends Person{

    constructor(name:string,age:number){
        super(name,age)//初始化父类的构造函数，继承父类的属性
    }
    work(){
        return `${this.name}在工作`
    }
}
let d = new Doctor("李四",30)
console.log(d.work());
console.log(d.eat("breakfast"));



